"""
创建对象时，Python解释器会默认调用构造方法；当需要删除一个对象来释放其所占的资源时，Python解释器会调用析构方法。析构方法的固定名称为__del__()，程序结束时会自动调用该方法，也可以使用del语句手动调用该方法删除对象。
【例 6-5】  比较下面两个程序，分析输出结果。
【代码一】
【程序说明】 以上两段代码的区别在于：代码二在程序结束前使用del语句手动调用析构方法删除对象，因此，先输出“---调用析构方法删除对象---”；而代码一没有使用del语句，因此，在程序结束时才调用析构方法，后输出“---调用析构方法删除对象---”。
"""


# 【代码一】
class Person():
    def __init__(self):  # 构造方法
        print('---调用构造方法创建对象---')

    def __del__(self):  # 析构方法
        print('---调用析构方法删除对象---')


person = Person()  # 创建对象
print('---程序结束---')


# 【代码二】
class Person1():
    def __init__(self):  # 构造方法
        print('---调用构造方法创建对象---')

    def __del__(self):  # 析构方法
        print('---调用析构方法删除对象---')


person1 = Person1()  # 创建对象
del person1  # 删除对象
print('---程序结束---')
